Proximity based sharing

ABSTRACT

A system and method for sharing content with a group of devices based on proximity. A sharing device transmits an SSID and an audio signal containing a key. The audio signal may be controlled to limit the area in which the audio signal may be received or heard by a receiving device. For example, the audio signal may be controlled to limit receipt to a device at a same table (a few feet away from the first device), in a same room, etc. This allows the sharer to selectively share content with one or more receiving devices without sharing with all devices in proximity to the first device.

BACKGROUND

Certain wireless communications protocols, such as Wi-Fi and/or Wi-Fidirect, may have mechanisms for handshaking that use beacons that aretransmitted by a wireless access point, base station, wireless router,and/or other electronic devices acting as a wireless router. Thesebeacon signals are typically used by users in proximity of the wirelessaccess point, base station, wireless router, and/or other electronicdevices acting as a wireless router.

BRIEF DESCRIPTION OF DRAWINGS

For a more complete understanding of the present disclosure, referenceis now made to the following description taken in conjunction with theaccompanying drawings.

FIG. 1 illustrates a system overview according to an aspect of thedisclosure.

FIG. 2 illustrates a block diagram conceptually illustrating a computingdevice according to one aspect of the present disclosure.

FIG. 3 illustrates a computing network for use with distributedprocessing according to one aspect of the present disclosure.

FIG. 4 illustrates a distributed environment according to one aspect ofthe present disclosure.

FIG. 5 is a flow diagram illustrating an exemplary routine for forming agroup and sharing content based on proximity according to aspects of thepresent disclosure.

FIG. 6 is a flow diagram illustrating an exemplary routine for forming asharing group according to aspects of the present disclosure.

FIG. 7 illustrates an exemplary user interface for forming a sharinggroup according to aspects of the present disclosure.

FIG. 8 is a flow diagram illustrating an exemplary routine for dynamicmodification of a sharing group according to aspects of the presentdisclosure.

FIG. 9A illustrates an exemplary pictorial diagram of dynamicmodification of a sharing group according to aspects of the presentdisclosure.

FIG. 9B illustrates another exemplary pictorial diagram of dynamicmodification of a sharing group according to aspects of the presentdisclosure.

DETAILED DESCRIPTION

Aspects of the present disclosure include devices, systems and methodsfor wirelessly sharing content from one device to one or more otherdevices based on a proximity of the devices. The devices may be one ormore of a computing device, a laptop computer, a cellular phone, apersonal digital assistant (PDA), a tablet computer, a wearable device,other mobile device, etc. The proximity control may be based on anability of a device to receive a localized transmitted signal, such as aradio frequency (RF) signal, an audio signal, an infrared (IR) signal,or some combination of one or more of these techniques.

In one aspect, a group owner device or transmitting device may sharecontent by announcing the availability of a proximity-based group, thatis a group of devices within a certain proximity to each other or to thegroup owner. The announcement may occur via a service set identification(SSID) broadcast, a Bluetooth access point, or other networkingtechnology. In general, the group owner device generates a SSID that maypoint to a URL or a local wireless network broadcast by the group ownerdevice. Other devices or receiving devices in the area that are Wi-Fienabled may receive the SSID and connect to the group. In some aspects,the SSID may contain an internet protocol (IP) address or a uniformresource locator (URL). When a receiving device receives the SSID, thereceiving device may then connect either to the local wireless networkor the URL related to the SSID. The URL may not be a complete URL, butmay contain enough information to make it unique and tell the receivingdevice where to go to access the proximity-based group.

Traditional networking techniques generally use a broadcast techniqueand require the user or sharer to manually limit who the user wants toshare with. As disclosed herein, the proximity based signals are used tocontrol who can access the sharing group. To control the proximity oraccess, while the SSID is being broadcast, a key may be transmitted viaan audio transmission using audio frequency at a low volume, ultrasonicfrequency and/or other audio within or outside the range of humandetection (generally outside the range of approximately 20˜20,000 Hz).The key may be a wireless protected association (WPA) pre-shared key,such as a 64-bit key or 128-bit key, that allows the receiving device toconnect to the group. While the SSID broadcast using Wi-Fi may penetratewalls, the audio signal containing the key may be unable to penetratewalls, and may attenuate more strongly as it travels through theatmosphere as compared to the Wi-Fi signal. Thus, the audio signal maybe controlled to limit the recipients of the key to those located withina certain physical space. Once a device joins a group it may gain accessto documents, files, data or other materials that are private to thegroup. These materials may be pulled by each device in the group asdesired or may be pushed to each device in the group, for example bypopulating a group folder on each device upon its entry into the group.Depending on group configurations, other factors beyond proximity mayalso determine what devices are permitted entry into the group.

In an aspect, the audio signal may be replaced by a non-audio signal,for example, an extremely high frequency (i.e. 30-300 gigahertz), suchas a 60 gigahertz frequency. Such a signal may also be constrained byphysical structures in the area. For example, a 60 gigahertz frequencymay be attenuated by or unable to penetrate o physical barriers, and/orbe subject to atmospheric attenuation due to the nature of the highfrequency. It should be appreciated that other types of frequencies mayalso be used.

The following description provides exemplary implementations of thedisclosure. Persons having ordinary skill in the field of computers,audio, and multimedia technology will recognize components and processsteps described herein that may be interchangeable with other componentsor steps, or combinations of components or steps, and still achieve thebenefits and advantages of the present disclosure. Moreover, in thefollowing description, numerous specific details are set forth in orderto provide a thorough understanding of the disclosure. It will beapparent to one skilled in the art, however, that the disclosure may bepracticed without some or all of these specific details. In otherinstances, well-known process steps have not been described in detail inorder not to unnecessarily obscure the disclosure.

FIG. 1 illustrates a system overview according to an aspect of thedisclosure. A transmitting device or first device 102 announces theavailability of a sharing group via a wireless transmission, forexample, a radio frequency (RF), Wi-Fi network, or other wirelesstransmission. The first device 102 may be a group leader that initiatesthe sharing group and manages the sharing group, including the devicesallowed to access the sharing group.

In an aspect, the first device 102 transmits a beacon signal. The beaconsignal may, in certain examples, be a beacon signal associated with anestablished communications protocol, such as Wi-Fi, Bluetooth, and/orWi-Fi direct. In an aspect, the beacon signal is a Wi-Fi SSID beaconsignal 104. The first device 102 also transmits an audio transmission106 using audio frequency. In an aspect, the audio transmission 106includes a WPA key.

One or more receiving devices or second devices, such as second devices108-116, receive the SSID signal 104. These receiving devices mayreceive the SSID signal as part of their normal Wi-Fi scan operation.The transmit power range of the SSID signal 104 may be controlled tolimit a group proximity range and thereby proximity of the receivingdevices that can receive the SSID signal 104. Additionally, in order toaccess the sharing group, the receiving devices require the WPA key. Asdescribed above, the WPA key is included in the audio transmission 106.Thus, the receiving devices capable of receiving or hearing the audiotransmission 106 can access the sharing group. The audio signal may becontrolled by the first device 102 to limit the recipients of the key tothose located within a certain physical space. The first device 102 mayalso selectively choose or limit the individual second devices 108-116that may join the group.

For example, the first device 102 may desire to share a document, suchas a presentation, with others in the room. The first device 102 maythen launch a sharing application and see all the devices, such assecond devices 108-116, in the room. The first device 102 may thencontrol the audio transmission 106 to share group A content with aselect few devices, such as second devices 108 and 110 located withinthe group proximity range identified by the group A perimeter 118. Thismay be useful in the situation where the users of the second devices 108and 110 are co-presenters and the group A content relates to notes forthe presentation. The first device 102 may also control the audiotransmission 106 to share group B content with all the devices, such assecond devices 108-116, located within the group proximity rangeidentified by the group B perimeter 120. Thus, the first device 102 canshare information with select co-presenters, while sharing information,such as the presentation with everyone, including the audience, bycreating sharing groups and controlling the power of the audiotransmission 106.

In some aspects, when the SSID signal 104 is received by the receivingdevices, such as second devices 108-116, the receiving devices activateor turn on their microphone to listen for the audio transmission 106.When the audio transmission 106 is received and validated, a responsemay be sent to the first device 102 with the receiving device'sRF-fingerprint and the result from the audio processing. The firstdevice 102 validates the RF-fingerprint for coarse proximity, and theaudio sample for in-room/short-range proximity. This audio-basedgeo-fence provides a factor for proximity authentication. Recipients usethe key from the audio transmission 106 to prove to the sharer that theyare in proximity to hear the key. This sharing methodology can be usedfor numbers applications, for example, sharing documents, audio files,video files, playing games, etc.

The RF-fingerprint may be a representation of radio frequency(RF)/wireless signals that are detectable by a device. TheRF-fingerprint may include the identity of certain detectable wirelesssignals, such as signals associated with certain Wi-Fi networks and/orspecific transmitters or access points, cellular signals, Bluetoothsignals, other RF transmissions, etc. The RF-fingerprint may includeassociated signal strengths for detected RF signals. RF-fingerprints maychange with changes in location, for example as certain wireless signalsbecome undetectable (or lose strength) and others become detectable (orgain strength). Thus a RF-fingerprint taken by a device at a specificlocation may serve as an identifier of the device's location orproximity.

Location or proximity of a device may also be confirmed and/orcontrolled by using other techniques, such as a radio frequency (RF)signal, received signal strength indication (RSSI), time of flight of anaudio signal, audio pinging/triangulation, an infrared (IR) signal, aBluetooth signal, or a haptic communication. The time of flight of theaudio signal technique generally measures the time it took for thereceiving device to hear the audio signal and respond to the sendingdevice or first device. Audio pinging/triangulation includes, forexample, devices playing a tone back. Each device may then triangulatean angle of arrival of the tone and determine a range, based on theamplitude of the received signal, and a position of the devices in thegroup. The IR signal technique generally includes controlling a transmitstrength of an IR signal to limit or enlarge the number of surroundingdevices that are capable of receiving the IR signal. The hapticcommunication is generally a tactile communication such as a vibrationpattern, etc. Such a haptic communication may be transmitted by a device(such as a vibration emitter) on a physical surface (such as a tabletop, counter, etc.) upon which a user device may be placed. If the userdevice is capable of detecting the haptic communication and confirmingreceipt of the communication to the system, the system then knows thatthe user device is located on the specific physical surface and mayallow the user device to access the sharing group.

Further, although the security code or security key described herein isdescribed as being sent via an audio signal, other signaling methodsthat may be proximity limited, such as IR signals, haptic signals, etc.may also be used to transmit the security key or other proximitydependent information.

The sharing of content, for example, sharing documents, audio files,video files, playing games, etc., may be done using any number oftechniques. For example, the sharing of content may be performed usingWi-Fi, IR, Bluetooth, haptic communication, audio or one or more othertechniques capable of transferring content, data, and/or information.

Aspects of the present disclosure may be implemented as a computerimplemented method in a computing device or computer system. Thesecomputing devices may include, but are not limited to, mobile phones,laptop computers, tablet computers, personal computers, workstations,mini- and mainframe computers, servers, and the like. These computingdevices may also include specially configured computers for processingdigital multi-media content. The general architecture of a suitablecomputing device is described below with reference to FIG. 2. FIG. 2 isa block diagram illustrating exemplary components of a computing device200 suitable for processing and streaming media content. However, thefollowing description of the exemplary components of a computing device200 should be viewed as illustrative only and not construed as limitingin any manner. In one aspect, the device 102 or the devices 108-116shown in FIG. 1 may be implemented as the exemplary computing device200, for example.

With regard to FIG. 2, the exemplary computing device 200 may include aprocessor 202 in communication with a variety of other components over asystem bus 220 or through a direct connection. These other componentsmay include, by way of example, a network interface 204, a wirelessinterface 228, an input device interface 206, an output interface 208,and a memory 210. As appreciated by those skilled in the art, thenetwork interface 204 enables the computing device 200 to communicatedata, control messages, data requests, and other information with otherresources including computers, data sources, storage devices, and thelike, on a computer network such as the Internet. The network interface204 may be configured to communicate via wired or wireless connections.The wireless interface 228 enables the computing device 200 tocommunicate data, control messages, data requests, and other informationwith other resources including computers, data sources, storage devices,and the like using wireless communication techniques. Examples ofwireless communications include, but are not limited to, RF, infrared,Bluetooth, wireless local area network (WLAN) (such as WiFi), orwireless network radio, such as a radio capable of communication with awireless communication network such as a Long Term Evolution (LTE)network, WiMAX network, 3G network, 4G network, and other communicationnetworks of the type.

As one skilled in the art will appreciate, the computing device 200 mayobtain content, such as streamed audio, video, and/or game from anothercomputer, a storage device, or other source via the computer network.The computing device 200 may also save the content to a networkedlocation or send it to another computer or satellite on the network, forexample.

The input device interface 206, sometimes also embodied as aninput/output interface, enables the computing device 200 to obtain datainput from a variety of devices including, but not limited to, amicrophone, a digital pen, a touch screen, a keyboard, a mouse, ascanner, and the like. In addition to the exemplary components describedabove, an output interface 208 may be used for outputting informationsuch as audio signals or display information. Audio signals may beoutput to other user devices, for example. Display information may beoutput by the output interface 208 via a display device (e.g., a monitoror similar device, not shown), for example. Audio output may also beoutput by the output interface 208 through an audio device such as aspeaker 224, for example. An audio input device 226, such as amicrophone, may also input audio to the computing device 200. Of course,while not shown, one skilled in the art will appreciate that one or morespeakers 224 and/or audio input devices 226, may be incorporated asintegral elements within a computing device 200 or may be separatetherefrom.

The processor 202 may be configured to operate in accordance withprogramming instructions stored in a memory 210. The memory 210generally comprises RAM, ROM, and/or other memory. Thus, in addition tostorage in read/write memory (RAM), programming instructions may also beembodied in read-only format, such as those found in ROM or otherpermanent memory. The memory 210 may store an operating system 212 forcontrolling the operation of the computing device 200. The operatingsystem may be a general purpose operating system such as a MicrosoftWindows operating system, a UNIX operating system, a Linux operatingsystem, or an operating system specifically written for and tailored tothe computing device 200. Similarly, the memory 210 may also storeuser-executable applications 214, or programs, for conducting variousfunctions on the computing device 200. For example, the application 214in memory 210 may be configured according to aspects of the presentdisclosure to control access to content within a certain proximity.

The computing device 200 optionally includes a data store 216, a contentstore 218, and/or a configuration store 222, depending on how thecomputing device 200 is to be used. For example, if the computing device200 is a device 102 shown in FIG. 1 it may include the data store 216,the content store 218 and the configuration store 222. If the computingdevice 200 is configured to provide the audio transmission shown in FIG.1, it may include the configuration store 222.

The data store 216 may store location data associated with networkavailability and signal strength information and may be used todetermine the proximity or presence of a user device in relation to thecomputing device 200 according to aspects of the present disclosure. Thecontent store 218 may be used to store the content that is transmittedand/or received by the computing device 200. The configuration store 222may be configured to store information and data for use in initiating,terminating, and managing the members and content within a sharinggroup.

It should also be understood that the following description is presentedlargely in terms of logic and operations that may be performed byconventional computer components and media components. These computercomponents, may be grouped in a single location or distributed over awide area. In circumstances where the computer components aredistributed, the components may be accessible to each other via wiredand/or wireless communication links, for example.

As shown in FIG. 3, multiple devices may be connected over a network302. Network 302 may include a local or private network or may include awide area network such as the Internet. Devices may be connected to thenetwork 302 through either wired or wireless connections. For example, awireless device 304 may be connected to the network 302 through awireless service provider. Other devices, such as laptop 306 or tabletcomputer 308 may be capable of connection to the network 302 usingvarious connection methods including through a wireless serviceprovider, over a Wi-Fi connection, or the like. Other devices, such astelevision 310, may connect to the network 302 through a wired orwireless connection. Networked devices may be joined together to formgroups as described herein.

In certain system configurations, one or more remote devices in a groupmay share content. For example, content may be sent over the network 302to television 310 by wireless device 304. The content may be streamed ortransmitted in another fashion. In another aspect, an audio device 316or stereo may receive content from the wireless device 304.

One configuration of the present disclosure is shown in FIG. 4. In thisconfiguration, a first device 102 transmits a SSID signal 402 thatpoints to a URL, and an audio signal 404 containing a key 406. A seconddevice 408 receives the SSID signal 402 and the key 406. The seconddevice 408 accesses the URL in the SSID signal 402 and provides the key406 to a server 410 via a wired or wireless network 412 as a means ofauthenticating that the second device 408 is in fact in proximity tohear the audio signal 404. The second device 408 may then receivecontent from the first device 102 directly or from the server 410through the network 412.

The systems and methods disclosed herein allow for selective sharing ofcontent based on proximity to a sharing device. In general, the sharingrelies on a combination of audio and Wi-Fi based technologies forproximity detection and security enforcements. Audio tones, such asthose that are outside the human hearing range, are used to limit thesharing to a fixed area. Time of flight for the audio may also be usedto calculate the distance from the source. Additionally, these tones maycarry a pin for moving the data securely between devices.

As an example, a first user of a first device may desire to share adocument, a video, a picture, an audio file, play a game, etc. withanother device. The first device transmits an SSID and an audio signal.The audio signal may be controlled to limit the area in which the audiosignal may be received or heard. For example, the audio signal may becontrolled to limit receipt to a device at a same table (a few feet awayfrom the first device), in a same room, etc. This allows the sharer toselectively share content with one or more other devices without sharingwith all the devices near the first device.

In another example, a first user may be playing a game, such as adriving type game, on the first device. The first device may initiate asharing group and allow a second device to join the game. This may allowthe first user and a second user of the second device to share gamecontent, such as allowing the second device to play or drive on the samecourse or road of the driving game.

FIG. 5 is a flow diagram illustrating an exemplary method for forming agroup and sharing content based on proximity. As an example, one or moreof the logical components of FIGS. 1-4 may perform the methods disclosedherein. In block 502, a first device transmits an SSID signal. The SSIDsignal is received by a second device, illustrated as block 504. Thesecond device then sends, and the first device receives, a proximityindicator, such as a RF-fingerprint or other information relating toproximity, from the second device, illustrated as block 506. In anaspect, the first device may receive a plurality of proximity indicatorsfrom a plurality of second devices. The proximity indicators may be usedto determine or identify the proximity of the second devices to thefirst device. In this aspect, a determination may then be made as to theproximity range of a signal containing a key that is to be transmittedby the first device, illustrated as block 508. As described above, thesignal may be an audio signal containing the key that allows the seconddevice(s) to connect to the sharing group.

A user of the first device may select the group proximity range of thesignal to be transmitted. For example, a short range audio signal (forexample, which can only be heard by second devices located about 2 feetfrom the first device), illustrated as block 510; a mid-range audiosignal (for example, which can only be heard by second devices locatedabout 8 feet from the first device), illustrated as block 512; or a longrange signal (for example, an RF signal), illustrated as block 514, maybe transmitted. This allows the user of the first device to select adesired proximity range within which to share content.

When the short range audio signal or the mid-range audio signal isselected, the first device then transmits the appropriate audio signal,having the appropriate transmission strength, containing the key,illustrated as block 516. The second device(s) listens for and receivesthe audio signal, illustrated as block 518. When the audio signal isreceived and validated, a response may be sent to the first device withthe receiving device's proximity indicator and the result from the audioprocessing. The first device may validate the proximity indicator forcoarse proximity, and the audio sample for in-room/short-rangeproximity. The second device(s) may use the key to access the sharinggroup, illustrated as block 520. Once connected to the sharing group,the first device may then transmit or push content to the seconddevice(s), illustrated as block 522. For example, content may beautomatically pushed to the second device(s) in response to the seconddevice(s) connecting to or becoming members of the sharing group.

In other aspects, as described above, the first device may share contentdirectly or content may be shared through a network. Additionally, itshould be appreciated that the first device may also receive contentfrom the second device(s) connected to the sharing group.

When the long range signal is selected, the first device may simplytransmit or push content to the second device(s), illustrated as block522. In this aspect, the key may not be required to connect to thesharing group. The first device transmits the content to any seconddevice that is present and that has accepted the group invitation. Thiscontent may be transmitted using a traditional networking channel.

Once the second device has accepted the group invitation or connected tothe sharing group, content may automatically be pushed to the seconddevice. Thus, the second device does not necessarily have to perform anyaction to receive the content, the content may be received as part ofgroup membership.

In an aspect, the user of the first device may individually select thesecond devices or receiving devices allowed to connect to the sharinggroup. FIG. 6 is a flow diagram illustrating an exemplary method forforming a group. In this aspect, a group is initiated and the firstdevice transmits an SSID signal, illustrated as block 602. The SSIDsignal is received by a plurality of second devices, illustrated asblock 604. The second devices send, and the first device receives, aproximity indicator, such as a RF-fingerprint or other informationrelating to proximity, for each of the second devices, illustrated asblock 606. This allows the first device to create a map-likerepresentation of the proximity of the second devices to the firstdevice. A user may then select the individual second devices the userdesires to allow to connect to the sharing group, illustrated as block608. The first device then transmits the appropriate audio signalcontaining the key, illustrated as block 610. The second devices listenfor and receive the audio signal, illustrated as block 612. The seconddevices use the key to access the sharing group, illustrated as block614. Once connected to the sharing group, the first device may thenshare content with the second devices, illustrated as block 616.

FIG. 7 is an exemplary illustration of a user interface for forming asharing group. A first device 700, which may be the same as device 102and/or 200 described above, displays a map of the devices around thefirst device 700. In general, the first device 700 transmits the SSIDsignal and/or a request for proximity/location information. The signalis received by a plurality of devices in proximity to the first device.The receiving devices may send a RF-fingerprint, a received signalstrength indication (RSSI), or other information relating toproximity/location to the first device to allow the first device todetermine the relative proximity and/or location of the receivingdevices. Information regarding such neighboring devices may also be sentin other ways. The location information of the neighboring devicesallows the first device to create the map-like representationillustrated in FIG. 7. As illustrated, the first device 700 isrepresented as D1, 702, and additional devices are represented as D2-D9,704-718 respectively. The devices may alternatively be represented inthe user interface based on a corresponding IP address, email address,or the name of the corresponding device (i.e. John Smith's phone). Theadditional devices D2-D9, 704-718 respectively, are displayed in theirgeneral location with respect to the first device D1, 702. Circularproximity range markings 720-726 illustrate a general group proximityrange associated with varying strengths of an audio signal or otherconfirmation signal. This allows the user to identify which devicesD2-D9, 704-718 respectively, would be able to hear the key transmittedvia the audio signal at different levels of transmission power.

Due to the nature of audio waves, audio traveling in the air tends toattenuate. Additionally, high frequency audio waves tend to reflect offof and not penetrate boundaries, such as walls, and what does penetrateis rapidly attenuated. And any surfaces between the transmitting deviceand the receiving device, means that that signal will not reach thedestination and the receiving device may not be able to reconstruct thekey. By reducing the amplitude of the audio signal, content may beshared privately by whispering it very softly. The volume may becontrolled enough that two devices would have to be ten to fifteencentimeters apart, or the attenuation in air eliminates the signal. Thisaudio control allows the sharing device or user of the first device toeffectively control how content is shared.

In an aspect, the user may select individual devices of devices D2-D9,704-718 respectively, to allow access to the sharing group. Asillustrated, devices D2-D5, 704-710 respectively, are selected. Thus,when the user activates the sharing function by selecting share 728, thefirst device 700 transmits an audio signal sufficient to allow devicesD2-D5, 704-710 respectively, to hear the audio signal. The first device700 may also prevent or block access to the sharing group by unselecteddevices (i.e. devices D6-D9, 712-718 respectively) even if any of thesedevices happen to be in range of the audio signal.

In another aspect, the user may simply select one of the pre-set groupproximity range selections. For example, a short range selection 730, amid-range selection 732, or a long range selection 734. Upon selectionof one of the pre-set group proximity range selections, the userinterface may display as selected the devices D2-D9, 704-718respectively, that would be selected based on the pre-set groupproximity range selected. For a more granular group proximity rangeselection, the user may increase or decrease the power of the audiosignal by using slider bar 736. The slider bar 736 may also includeproximity range markings corresponding to the power of the audio signalfor each of the circular proximity range markings 720-726. As the powerof the audio signal is increased, the first device displays as selectedthe devices D2-D9, 704-718 respectively, that would be selected based onthe power. For example, as illustrated, the power of the slider bar 736is close to the power level of circular proximity range marking 724,thereby allowing devices D2-D5 to be selected. Once the user issatisfied with the range of the audio signal, the user may activate thesharing function by selecting share 728. The user interface illustratedin FIG. 7 allows the user to customize the sharing group by selecting orde-selecting which of the devices that are allowed to access or connectto the sharing group.

In another aspect, a user of a first device may have a number of otherelectronic components or devices, such as a television, a stereo, acomputer, etc., in his/her home. The user may desire to dynamicallyconnect those devices to a sharing group depending on the user proximityto those devices. For example, the user may desire to listen to musicand have the music follow him/her as he/she moves from room to room. Forexample, the first user and first device may be in the family room andthe first device may communicate with a stereo or television in thatroom to share or stream music to that device. The use of the audiosignal described above, allows a logically closest device, which may notbe the true physically closest device (such as a device in another roomon an opposite side of a wall) to be identified. The logically closestdevice is the device that should logically be connected to the sharinggroup. For example, the first user may be in a living room that includesa television. The television may not be the closest device to the firstuser based on actual distance, rather a computer on an opposite side ofa wall in a room behind the first user may actually be closer to theuser than the television. The first user would not want the computer toconnect to the sharing group, since the computer is in a different room.Rather, the first user would want the television, which is in the sameroom as the first user, to connect to the sharing group. In thisexample, the television is the logically closest device since it is thedevice that should logically be connected to the sharing group based onthe location of the first user.

As the user and first device move to a different room, the first devicemay dynamically adjust the sharing group and communicate with anotherdevice in that room to share or stream music to that device. Thesesystems and methods can equally be applied to any situation in whichaccess to content and data is desired to be limited to a location orproximity to a location or device.

FIG. 8 is a flow diagram illustrating an exemplary method for dynamicmodification of a group. A first device transmits an SSID signal,illustrated as block 802, and transmits an appropriate audio signalincluding a key, illustrated as block 804. A second device, such as atelevision, a stereo, a computer, etc., receives the SSID signal and theaudio signal, illustrated as block 806. The first device determines aclosest second device, illustrated as block 808. In an aspect, this maybe done based on RF-fingerprint, RSSI, time of flight of the audiosignal, or other technique for identifying proximity/location. Once theclosest device is determined, the first device shares content with theclosest second device, illustrated as block 810. The first device may becontinuously transmitting the SSID signal and the audio signal, anddetermine the closest second device. As the first device moves, thedevice that the first device is sharing with may change because theclosest second device may change.

For example, a user of the first device may be in a garage and playingmusic. When the user and first device move into the house, the musiccould follow the first device. In this aspect, the first device may becontinuously broadcasting the presence of an interim group, andwhichever second device joined most recently could be the one to becomethe playing device. The second devices in proximity to the first deviceis changing rapidly as the user and the first device move through thehouse, or an office at work, etc. The sharing group is dynamic based onproximity, and group membership is based on were in proximity or are inproximity.

FIGS. 9A and 9B illustrate a pictorial diagrams of a user 900 of a firstdevice 902 moving from one room to another. As illustrated, the user 900of the first device 902 may be at a first location P1, such as in akitchen. The first device 902 may initiate a first sharing group,illustrated in FIG. 9A as 910 and FIG. 9B as 916, with a televisiondevice 904 located in the kitchen, and share content, such as a movie ormusic with the television device 904.

As the user 900 and the first device 902 move to a different room, forexample, to a second location P2, the closest device to the first device902 changes. At the location P2, a computer device 906 is the closestdevice to the first device 902. Thus, the first device 902 may form asecond sharing group, illustrated in FIG. 9A as 912, or the first device902 may drop the television device 904 from the first sharing group andadd the computer device 906 to the first sharing group, as illustratedin FIG. 9B, and share content with the computer device 906. Similarly,as the user 900 and the first device 902 move to yet another room, forexample, to a third location P3, the closest device to the first device902 is now television device 908. The first device 902 again may form athird sharing group, illustrated in FIG. 9A as 914, or the first device902 may drop the computer device 906 from the first sharing group andadd the television device 908 to the first sharing group, as illustratedin FIG. 9B, and share content with the television device 908.

The first device 902 may be continuously searching or polling for andmeasuring the proximity/location of devices within a sharing group, asillustrated in FIG. 9B, to determine whether a device is still inproximity or a new device is now the logically closest device to thefirst device 902. As the first device 902 moves and identifies anotherclosest device, the first device 902 automatically drops a prior devicethat is no longer in close proximity from and adds the new closes deviceto the sharing group, or the first device 902 may form a new sharinggroup with the new closest device, as illustrated in FIG. 9A. Thisallows the user 900 to have a movie or music follow the user 900 as theuser moves from room to room.

The systems and methods described above may be used in a wide variety ofapplications. For example, in an education setting detection of devicesin physical proximity may be used to ensure that students are in theroom while taking a test and/or to enforce that they are still presentwhen moving between pages or questions. Similarly, the systems andmethods may be used to ensure that confidential materials are onlyaccessible while viewers are all in the same room, for example, when adevice leaves a meeting, that device may lose access to the materials.

The systems and methods may be used for synchronized reading or viewingof content within a prescribed space. For example, in a classroomsetting, rather than a teacher saying “turn to chapter 3,” the teachercan push all devices in the room content to display a particular page.Automatic sharing of content annotations can be enabled to physicallyproximate users. This could be done as one-to-many, where a singleperson's notes are pushed out to the entire room, or many-to-many, whereall of the peers' annotations may be viewed in real-time. This couldalso be used for collaborative composition and editing of content.

The systems and methods may be used for group formation. For example, ifa user meets a new group of people for the first time, e.g. on the firstday of school or during lunch at a conference, the user could easilyexchange contact information with everyone who's sitting at a table. Thesystems and methods may also be used for passive attendance recording bydetecting which devices are physically present within a room. This couldalso be used for tracking location history by keeping track of whatthings a device is proximate to as it moves through a building or otherspace.

Further examples of how the systems and methods may be used include:proximity-based advertising, and application level restriction ofsharing content within a predefined or dynamic set of recipients (forexample, a user may only want to share within a list of recipients thatis based on some context, such as a list of recipients associated with ameeting invite).

As discussed above, the various embodiments may be implemented in a widevariety of operating environments, which in some cases can include oneor more user computers, computing devices, or processing devices whichcan be used to operate any of a number of applications. User or clientdevices can include any of a number of general purpose personalcomputers, such as desktop or laptop computers running a standardoperating system, as well as cellular, wireless, and handheld devicesrunning mobile software and capable of supporting a number of networkingand protocols. Such a system also may include a number of workstationsrunning any of a variety of commercially-available operating systems andother known applications for purposes such as development and databasemanagement. These devices also can include other electronic devices,such as dummy terminals, thin-clients, gaming systems, and other devicescapable of communicating via a network.

Various aspects also can be implemented as part of at least one serviceor Web service, such as may be part of a service-oriented architecture.Services such as Web services can communicate using any appropriate typeof communication, such as by using messages in extensible markuplanguage (XML) format and exchanged using an appropriate protocol suchas SOAP (derived from the “Simple Object Access Protocol”). Processesprovided or executed by such services can be written in any appropriatelanguage, such as the Web Services Description Language (WSDL). Using alanguage such as WSDL allows for functionality such as the automatedgeneration of client-side code in various SOAP frameworks.

Most embodiments utilize at least one network that would be familiar tothose skilled in the art for supporting communications using any of avariety of commercially-available protocols, such as TCP/IP, OSI, FTP,UPnP, NFS and CIFS. The network can be, for example, a local areanetwork, a wide-area network, a virtual private network, the Internet,an intranet, an extranet, a public switched telephone network, aninfrared network, a wireless network, and any combination thereof.

In embodiments utilizing a Web server, the Web server can run any of avariety of server or mid-tier applications, including HTTP servers, FTPservers, CGI servers, data servers, Java servers, and businessapplication servers. The server(s) also may be capable of executingprograms or scripts in response requests from user devices, such as byexecuting one or more Web applications that may be implemented as one ormore scripts or programs written in any programming language, such asJava, C, C# or C++, or any scripting language, such as Perl, Python, orTCL, as well as combinations thereof. The server(s) may also includedatabase servers, including without limitation those commerciallyavailable from Oracle, Microsoft, Sybase, and IBM.

The environment may include a variety of data stores and other memoryand storage media as discussed above. These may reside in a variety oflocations, such as on a storage medium local to (and/or resident in) oneor more of the computers or remote from any or all of the computersacross the network. In a particular set of embodiments, the informationmay reside in a storage-area network (“SAN”) familiar to those skilledin the art. Similarly, any necessary files for performing the functionsattributed to the computers, servers, or other network devices may bestored locally and/or remotely, as appropriate. Where a system includescomputerized devices, each such device can include hardware elementsthat may be electrically coupled via a bus, the elements including, forexample, at least one central processing unit (CPU), at least one inputdevice (e.g., a mouse, keyboard, controller, touch screen, keypad, ormicrophone), and at least one output device (e.g., a display device,printer, or speaker). Such a system may also include one or more storagedevices, such as disk drives, optical storage devices, and solid-statestorage devices such as random access memory (“RAM”) or read-only memory(“ROM”), as well as removable media devices, memory cards, flash cards,etc.

Such devices also can include a computer-readable storage media reader,a communications device (e.g., a modem, a network card (wireless orwired), an infrared communication device, etc.), and working memory asdescribed above. The computer-readable storage media reader can beconnected with, or configured to receive, a computer-readable storagemedium, representing remote, local, fixed, and/or removable storagedevices as well as storage media for temporarily and/or more permanentlycontaining, storing, transmitting, and retrieving computer-readableinformation. The system and various devices also typically will includea number of software applications, modules, services, or other elementslocated within at least one working memory device, including anoperating system and application programs, such as a client applicationor Web browser. It should be appreciated that alternate embodiments mayhave numerous variations from that described above. For example,customized hardware might also be used and/or particular elements mightbe implemented in hardware, software (including portable software, suchas applets), or both. Further, connection to other computing devicessuch as network input/output devices may be employed.

Storage media and computer readable media for containing code, orportions of code, can include any appropriate media known or used in theart, including storage media and communication media, such as but notlimited to volatile and non-volatile, removable and non-removable mediaimplemented in any method or technology for storage and/or transmissionof information such as computer readable instructions, data structures,program modules, or other data, including RAM, ROM, EEPROM, flash memoryor other memory technology, CD-ROM, digital versatile disk (DVD) orother optical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed bythe system or device. Based on the disclosure and teachings providedherein, a person of ordinary skill in the art will appreciate other waysand/or methods to implement the various embodiments.

The specification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense. It will, however, beevident that various modifications and changes may be made thereuntowithout departing from the broader spirit and scope of the disclosure asset forth in the claims.

What is claimed is:
 1. A computer implemented method for sharing digital content, comprising: transmitting a wireless access signal including an identifier for a sharing group; receiving responses to the wireless access signal from a plurality of receiving devices, each response comprising location information of the respective receiving device; configuring a display to show a location of each of the plurality of receiving devices relative to a user device; allowing a selection of a proximity range, the proximity range encompassing at least one location of at least one of the plurality of receiving devices; selecting a first transmission strength for transmission of an audio signal, wherein the first transmission strength provides for transmission of the audio signal within the proximity range without transmission of the audio signal substantially beyond the proximity range; transmitting the audio signal, the audio signal including a security code for use in joining the sharing group; receiving, from at least one proximate device within the proximity range, an indication that the at least one proximate device has received the security code; joining the at least one proximate device to the sharing group; transmitting content to the at least one proximate device in response to the at least one proximate device joining the sharing group; monitoring a proximity of the at least one proximate device relative to the user device; and to remove the at least one proximate device from the sharing group in response to the proximity being located beyond a threshold distance from the user device.
 2. The computer implemented method of claim 1, wherein the location information of the respective receiving device comprises a received signal strength indicator corresponding to a strength of the wireless access signal as received by the respective receiving device.
 3. The computer implemented method of claim 1, wherein the location information of the respective receiving device comprises a radio frequency fingerprint corresponding to the respective receiving device.
 4. The computer implemented method of claim 1, wherein the allowing the selection of the proximity range comprises allowing a selection of one or more receiving devices to be included in the sharing group and setting the proximity range to include locations of the one or more receiving devices.
 5. A computing device comprising: at least one processor; a memory including instructions operable to be executed by the at least one processor to perform a set of actions, configuring the at least one processor: to cause display of location information of other devices relative to the computing device; to receive an indication of a proximity range within which at least a first device of the other devices may be invited to join a group; to transmit a first wireless signal, the first wireless signal comprising a group identifier; to transmit an audio signal, the audio signal comprising a group security code, wherein a transmission strength of the audio signal is configured based on the indicated proximity range; to receive an indication from the first device that the first device has received the group security code; to add the first device to the group; to monitor a proximity of the first device relative to the computing device; and to remove the first device from the group in response to the proximity of the first device being located beyond a threshold distance from the computing device.
 6. The computing device of claim 5, wherein the audio signal is transmitted in a frequency range inaudible to humans.
 7. The computing device of claim 5, wherein the at least one processor is configured to transmit content to the first device in response to the first device joining the group.
 8. The computing device of claim 5, wherein the instructions further configure the at least one processor to receive content from the first device in response to the first device joining the group.
 9. The computing device of claim 5, wherein the instructions further configure the at least one processor to receive an indicator of a location of the first device.
 10. The computing device of claim 9, wherein the instructions further configuring the at least one processor to receive the indication of the proximity range comprise instructions to configure the at least one processor: to receive an indication to join the first device to the group; and to determine the proximity range based at least in part on the location of the first device relative to the computing device.
 11. The computing device of claim 5, wherein the proximity range is selected from a plurality of predetermined proximity ranges.
 12. The computing device of claim 5, wherein the instructions further configure the at least one processor: to transmit a second wireless signal comprising the group security code; and to remove the first device from the group in response to not receiving, within a threshold time, a confirmation from the first device that the first device has received the group security code.
 13. The computing device of claim 5, wherein the first wireless signal is adapted to be transmitted over a first medium, and the audio signal is adapted to be transmitted over a second medium different from the first medium.
 14. A computer implemented method comprising: displaying in a user interface of a first computing device: a proximity of one or more second devices relative to the first computing device, a range selector, allowing a user to select devices within a range, and a sharing selector, adapted to receive an instruction to share content with devices within the range; transmitting an audio signal comprising a group security code in response to receiving the instruction to share, wherein a transmission strength of the audio signal is configured based on the range; receiving an indication from at least one of the devices within the range that the at least one of the devices has received the group security code; adding the at least one of the devices to a group; monitoring a proximity of the at least one of the devices relative to the first computing device; and removing the at least one of the devices from the group in response to the proximity of the at least one of the devices being located beyond a threshold distance from the first computing device.
 15. The computer implemented method of claim 14, further comprising: transmitting a first wireless signal; receiving one or more response messages to the first wireless signal from the one or more second devices, each response message comprising proximity information of each respective second device, wherein the displaying the proximity of the one or more second devices in the user interface is based at least in part on the proximity information.
 16. The computer implemented method of claim 14, wherein the range selector includes a slide bar adapted to increase or decrease the range.
 17. The computer implemented method of claim 14, wherein the range selector includes at least one of a short range selection, a mid-range selection, and a long range selection.
 18. The computer implemented method of claim 14, wherein the transmission strength of the audio signal is configured for transmission of the audio signal within the range without transmission of the audio signal substantially beyond the range. 